package com.secuenciafoto;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
import com.camarasmactel.R;
import com.conexion.Utilitario;
import com.foto.Foto;

import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class SecuenciaFoto extends Activity{

	ImageView img;
	Button secuencia,volver;
	Bitmap imagen;
	TextView hora,fecha;
	Calendar c;
	ProgressDialog pd;
	Utilitario util;
	String dia,mes,anho; int horas,minutos,segundos;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		
		pd = ProgressDialog.show(this, "Conectando...", "Conectando...");
		
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.timerfoto);
		c = Calendar.getInstance();
		hora = (TextView) findViewById(R.id.horas);
		hora.setText(c.getTime().toString());
		volver = (Button) findViewById(R.id.volvers);
		volver.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				SecuenciaFoto.this.finish();
			}
		});
		img = (ImageView) findViewById(R.id.fotoactualizando);
		secuencia = (Button) findViewById(R.id.timerfoto);
		secuencia.setOnClickListener(new OnClickListener() {
	
		Timer time = new Timer();	
		final Handler mhandler = new Handler();
		
		final Runnable actualizar = new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				
				ObtenerSecuencia obtener = new ObtenerSecuencia();
				obtener.start();
				
				try {
					obtener.join();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				img.setImageBitmap(obtener.bmImg);
				c = Calendar.getInstance();
				hora.setText(c.getTime().toString());
				
			}
		};
		
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				
			time.scheduleAtFixedRate(new TimerTask() {
				
				@Override
				public void run() {
					// TODO Auto-generated method stub
					
					mhandler.post(actualizar);
				}	
									
			}, 0, 2000l);	

			} // fin del onclick
		});
		
		ObtenerSecuencia obtener = new ObtenerSecuencia();
		obtener.start();
		
		try {
			obtener.join();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		img.setImageBitmap(obtener.bmImg);
		pd.dismiss();
	}

	
		private void guardar(){
		util = new Utilitario();
		String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() + 
                "/SecuenciaFoto "+dia+"-"+mes+"-"+anho; // Falta adjuntar la fecha
		File dir = new File(file_path);
		if(!dir.exists())
		dir.mkdirs();
		
		File file = new File(dir, "" +horas+":"+minutos+":"+segundos+".jpg"); // nombre del archivo
		FileOutputStream fOut=null;
		try {
			fOut = new FileOutputStream(file);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		imagen.compress(Bitmap.CompressFormat.PNG, 85, fOut);
		try {
			fOut.flush();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			fOut.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		//imagen.setDrawingCacheEnabled(false);
		}

		util.mensaje("Imagen Guardada con Éxito", SecuenciaFoto.this);
	}

	
} // fin de la clase



